<head>
    <meta charset="UTF-8">
<title>算法提高 Crystal clear</title>
<link rel="stylesheet" href="../css/main.css">
</head>
 <p>【问题描述】</p>
<p>一个高新技术公司研制了一种绝缘的新材料，这种材料由晶体和晶体赖以生长的网格矩形组成，网格上生长点的间隔距离为1cm。晶体就是由这些生长点为向外生长，直到生长出直径为1cm的一个圆。</p>
<p>&nbsp;应用这种新材料需要将网格切割成块。在切割中存在一个问题，在切割过程中一些晶体可能被破坏。当晶体圆片被切割，并且切割不过圆片的中心时，晶体的绝缘性能被破坏（切割线与晶体圆片相切时，仍不破坏晶体的绝缘性能）。</p>
<p><img width="406" height="108" src="http://lx.lanqiao.cn/RequireFile.do?fid=rmbTNNER" alt="" /></p>
<p>于是，一个材料块的有效容量就是其包含的未被破坏的晶体（或晶体的一部分）的总面积。下图给出了一个实例，阴影部分是未被破坏的晶体。</p>
<p><img width="366" height="306" src="http://lx.lanqiao.cn/RequireFile.do?fid=6R7qdR7f" alt="" /></p>
<p>你的任务就是测量统计一个给定材料块的有效容量。</p>
<p>注意：任何不经过圆心的割线都会使被割的圆完全失效。</p>
<p>【输入格式】<br />
输入包括一组多边形的顶点序列。每一个描述多边形的数据包括一个正整数N，表示顶点总数。以下有N行，每行两个整数x和y，表示一个顶点。所有顶点按照顺时针排列，并且坐标的绝对值不超过250。当N=0时表示输入结束。<br />
【输出格式】</p>
<p>对于每一个有效的多边形，输出其有效容量，精确到小数点后3位。<br />
【样例输入】</p>
<p>5</p>
<p>0 2</p>
<p>3 5</p>
<p>6 3</p>
<p>6 0</p>
<p>1 0</p>
<p>0</p>
<p>【样例输出】</p>
<p>15.315</p>
<p>【数据规模和约定】</p>
<p>对于100%的测试点，N &lt;= 25，数据组数T &lt;= 5，每个顶点坐标的绝对值P &lt;= 250。</p>